Reduction of Code Reuse Attacks Using Code Randomization and Recursive Traversal Algorithm
نویسنده
چکیده
other code reuse attacks are a class of buffer overflow attacks that shows the existence of executable code that can be used for malicious purposes. They attack the systems security by chaining the sequence of instructions together to perform the expected logic of attack. These attacks have a common feature; they rely on executable code’s memory layout. The layout of the executable code can be modified to avoid code reuse attacks. In marlin we change the internal structure of executable code by shuffling the target binary’s function blocks in random manner. This will not allow the attacker to gain information of the instruction addresses, which will result in reduced possibility of attacks. Marlin can be implemented with any ELF binary code and every execution of the binary code will be using different randomization techniques. The target executable binary will be randomized before launching by integrating marlin to the bash shell. Thus our system reduces the vulnerability of security against attacks based on code reuse.
منابع مشابه
Aggrandizing the beast's limbs: patulous code reuse attack on ARM architecture
Since smartphones are usually personal devices full of private information, they are a popular target for a vast variety of real-world attacks such as Code Reuse Attack (CRA). CRAs enable attackers to execute any arbitrary algorithm on a device without injecting an executable code. Since the standard platform for mobile devices is ARM architecture, we concentrate on available ARM-based CRAs. Cu...
متن کاملDwarf Frankenstein is still in your memory: tiny code reuse attacks
Code reuse attacks such as return oriented programming and jump oriented programming are the most popular exploitation methods among attackers. A large number of practical and non-practical defenses are proposed that differ in their overhead, the source code requirement, detection rate and implementation dependencies. However, a usual aspect among these methods is consideration of the common be...
متن کاملMarlin: A Fine Grained Randomization Approach to Defend against ROP Attacks
Code-reuse attacks, such as return-oriented programming (ROP), bypass defenses against code injection by repurposing existing executable code toward a malicious end. A common feature of these attacks is the reliance on the knowledge of the layout of the executable code. We propose a fine grained randomization based approach that modifies the layout of executable code and hinders code-reuse atta...
متن کاملAVRAND: A Software-Based Defense Against Code Reuse Attacks for AVR Embedded Devices
Code reuse attacks are advanced exploitation techniques that constitute a serious threat for modern systems. They profit from a control flow hijacking vulnerability to maliciously execute one or more pieces of code from the targeted application. ASLR and Control Flow Integrity are two mechanisms commonly used to deter automated attacks based on code reuse. Unfortunately, none of these solutions...
متن کاملIsomeron: Code Randomization Resilient to (Just-In-Time) Return-Oriented Programming
Until recently, it was widely believed that code randomization (such as fine-grained ASLR) can effectively mitigate code reuse attacks. However, a recent attack strategy, dubbed just-in-time return oriented programming (JIT-ROP), circumvents code randomization by disclosing the (randomized) content of many memory pages at runtime. In order to remedy this situation, new and improved code randomi...
متن کامل